package com.fdb.efp.console.api.rest;// package com.fdb.efp.console.api.rest;
//
// import java.util.ArrayList;
// import java.util.List;
//
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.beans.factory.annotation.Qualifier;
// import org.springframework.web.bind.annotation.PathVariable;
// import org.springframework.web.bind.annotation.RequestBody;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RequestMethod;
// import org.springframework.web.bind.annotation.ResponseBody;
// import org.springframework.web.bind.annotation.RestController;
//
// import com.fdb.efp.console.common.CusConstant;
//// import com.gdrcu.lp.limit.service.api.LmtCusHandOverService;
// import com.fdb.efp.ctr.service.facade.CtrCusHandOverService;
// import com.fdb.efp.console.service.facade.CusHandoverAppService;
// import com.fdb.efp.console.service.facade.CusHandoverLogService;
// import com.fdb.efp.console.service.facade.CusHandoverLstService;
// import com.fdb.efp.console.service.facade.CusIndivService;
// import com.fdb.efp.console.service.vo.CusHandoverAppVO;
// import com.fdb.efp.console.service.vo.CusHandoverLstListVO;
// import com.fdb.efp.console.service.vo.CusHandoverLstVO;
// import com.fdb.basic.framework.core.constant.ResponseData;
// import com.fdb.basic.framework.core.controller.AbstractController;
// import com.fdb.basic.framework.core.util.TimeUtil;
// import com.fdb.basic.framework.core.vo.CusHandOverVO;
// import com.fdb.efp.console.service.facade.LoanCusHandOverService;
// import com.fdb.efp.console.service.facade.PspCusHandOverService;
// import com.fdb.efp.console.service.facade.RscCusHandOverService;
//
// @RestController
// @RequestMapping("/api")
// public class CusHandoverAppController extends AbstractController {
//
// @Autowired
// @Qualifier("cusHandoverAppService")
// private CusHandoverAppService cusHandoverAppService;
//
// @Autowired
// @Qualifier("cusHandoverLstService")
// private CusHandoverLstService cusHandoverLstService;
//
// @Autowired
// @Qualifier("cusIndivService")
// private CusIndivService cusIndivService;
//
// @Autowired
// @Qualifier("cusHandoverLogService")
// private CusHandoverLogService cusHandoverLogService;
//
// @Autowired
// @Qualifier("ctrCusHandOverService")
// private CtrCusHandOverService ctrCusHandOverService;
//
// // @Autowired
// // @Qualifier("lmtCusHandOverService")
// // private LmtCusHandOverService lmtCusHandOverService;
//
// @Autowired
// @Qualifier("loanCusHandOverService")
// private LoanCusHandOverService loanCusHandOverService;
//
// @Autowired
// @Qualifier("rscCusHandOverService")
// private RscCusHandOverService rscCusHandOverService;
//
// @Autowired
// @Qualifier("pspCusHandOverService")
// private PspCusHandOverService pspCusHandOverService;
//
// /**
// * 客户移交申请 列表
// *
// * @param page
// * @param size
// * @return
// */
// @RequestMapping(value = "/cus/handover/apps", method = RequestMethod.POST)
// public @ResponseBody ResponseData<List<CusHandoverAppVO>>
// queryCusHandoverAppAll(@RequestBody CusHandoverAppVO vo) {
// if (vo.getInputDates() != null && vo.getInputDates().length == 2) {
// vo.setInputStartDate(vo.getInputDates()[0]);
// vo.setInputEndDate(vo.getInputDates()[1]);
// }
// List<CusHandoverAppVO> outputVo = null;// this.executeQueryList("queryAll",
// cusHandoverAppService, new Object[] { vo
// // });
//
// return getResponseData(outputVo);
//
// }
//
// /**
// * 复核中，复核通过,审批页面
// *
// * @param page
// * @param size
// * @return
// */
// @RequestMapping(value = "/cus/handover/apps/appr", method =
// RequestMethod.POST)
// public @ResponseBody ResponseData<List<CusHandoverAppVO>>
// queryCusHandoverApprAll(@RequestBody CusHandoverAppVO vo) {
// if (vo.getInputDates() != null && vo.getInputDates().length == 2) {
// vo.setInputStartDate(vo.getInputDates()[0]);
// vo.setInputEndDate(vo.getInputDates()[1]);
// }
//
// List<CusHandoverAppVO> outputVo = null;//
// this.executeQueryList("queryApprovalAll", cusHandoverAppService, new Object[]
// // { vo });
// return getResponseData(outputVo);
// }
//
// /**
// * 接收页面，复核通过
// *
// * @param page
// * @param sizeo
// * @return
// */
// @RequestMapping(value = "/cus/handover/apps/recv", method =
// RequestMethod.POST)
// public @ResponseBody ResponseData<List<CusHandoverAppVO>>
// queryCusHandoverrecvAll(@RequestBody CusHandoverAppVO vo) {
// if (vo.getInputDates() != null && vo.getInputDates().length == 2) {
// vo.setInputStartDate(vo.getInputDates()[0]);
// vo.setInputEndDate(vo.getInputDates()[1]);
// }
//
// List<CusHandoverAppVO> outputVo = null;//
// this.executeQueryList("queryRecvAll", cusHandoverAppService, new Object[] {
// // vo });
// return getResponseData(outputVo);
//
// }
//
// /**
// * 根据主键查询详情
// *
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/{serno}", method =
// RequestMethod.GET)
// public @ResponseBody ResponseData<CusHandoverAppVO>
// queryByPk(@PathVariable("serno") String serno) {
// CusHandoverAppVO inVo = new CusHandoverAppVO();
// inVo.setSerno(serno);
// CusHandoverAppVO outputVo = cusHandoverAppService.queryByPk(inVo);
// return getResponseData(outputVo);
//
// }
//
// /**
// * 根据主键删除信息
// *
// * @param cusHandoverApp
// * @return
// */
// @RequestMapping(value = "/cus/handover/app", method = RequestMethod.DELETE)
// public @ResponseBody ResponseData<Integer> deleteByPk(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// setUserInfoToVO(inCusHandoverAppVo);
// int outputVo = cusHandoverAppService.deleteByPk(inCusHandoverAppVo);
// return getResponseData(outputVo);
//
// }
//
// /**
// * 根据主键更新信息
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app", method = RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> updateByPk(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// int outputVo = cusHandoverAppService.updateByPk(inCusHandoverAppVo);
// return getResponseData(outputVo);
//
// }
//
// /**
// * 发起移交流程
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/start", method =
// RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApprove(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// // 只更新状态，不更新其它信息
// CusHandoverAppVO inVO = new CusHandoverAppVO();
// setUserInfoToVO(inVO);
// inVO.setSerno(inCusHandoverAppVo.getSerno());
// inVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_10);
// inVO.setHandoverId(inVO.getLoginUserId()); // 需要 [移交人] 跟 [登录人] 一致
// List<String> needStatus = new ArrayList<>(); // 只有 [登记]或[复核退回] 状态才能更新
// needStatus.add(CusConstant.STD_ZB_HAND_STATUS_00);
// needStatus.add(CusConstant.STD_ZB_HAND_STATUS_22);
// inVO.setNeedStatus(needStatus);
// int outputVo = cusHandoverAppService.updateStatusBySernoCondition(inVO);
// return getResponseData(outputVo);
// }
//
// /**
// * 处理否决移交
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/veto", method = RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApproveVeto(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// // 否决, 将状态改为复核退回
// CusHandoverAppVO inVO = new CusHandoverAppVO();
// setUserInfoToVO(inVO);
// inVO.setSerno(inCusHandoverAppVo.getSerno());
// inVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_22); // 复核退回
// inVO.setSuperviseId(inVO.getLoginUserId());
// ; // 需要 [监交人] 跟 [登录人] 一致
// List<String> needStatus = new ArrayList<>(); // 只有 [复核中] 状态才能更新
// needStatus.add(CusConstant.STD_ZB_HAND_STATUS_10);
// inVO.setNeedStatus(needStatus);
//
// int outputVo = cusHandoverAppService.updateStatusBySernoCondition(inVO);
// return getResponseData(outputVo);
// }
//
// /**
// * 处理同意移交接收
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/agree", method =
// RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApproveAgree(@RequestBody
// CusHandoverLstListVO cusHandoverLstListVO) {
// List<CusHandoverLstVO> cusHandoverLstVOList =
// cusHandoverLstListVO.getCusHandoverLstVO();// 用于获取移交客户列表客户号
// CusHandoverAppVO cusHandoverAppVO =
// cusHandoverLstListVO.getCusHandoverAppVO();
// cusHandoverAppVO.setSuperviseDate(TimeUtil.getCurDate());
// // cusHandoverAppVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_20);
// // cusHandoverAppVO.setInputDate(TimeUtil.getCurrentDate());
// List<String> cusIds = new ArrayList<String>();
// CusHandOverVO cusHandOverVO = new CusHandOverVO();
// Integer num = 0;
// if ("10".equals(cusHandoverAppVO.getOrgType())) {// 本机构移交
//
// for (CusHandoverLstVO cusHandoverLstVO : cusHandoverLstVOList) {
// cusIds.add(cusHandoverLstVO.getCusId());
// }
// // 客户账务移交
// try {
// cusHandOverVO.setCusIds(cusIds);
// cusHandOverVO.setFromUser(cusHandoverAppVO.getHandoverId());// 移出用户（客户经理）
// cusHandOverVO.setToUser(cusHandoverAppVO.getReceiverId());// 接收用户（客户经理）
// cusHandOverVO.setFromBrId(cusHandoverAppVO.getHandoverBrId());// 移出机构（管理机构）
// cusHandOverVO.setToBrId(cusHandoverAppVO.getReceiverBrId());// 接收机构（管理机构）
// cusIndivService.doCusHandOver(cusHandOverVO);// 客户信息移交
// ctrCusHandOverService.doCusHandOver(cusHandOverVO);// 借款合同表移交
// // lmtCusHandOverService.doCusHandOver(cusHandOverVO);
// // //授信申请表移交\授信协议表移交\预授信名单表移交\额度冻结表记录 \额度解冻表记录
// loanCusHandOverService.doCusHandOver(cusHandOverVO); // 贷款台账表移交\贷款台账子表移交
// rscCusHandOverService.doCusHandOver(cusHandOverVO); //
// 风险分类表移交\风险分类借据表移交\风险分类合同表移交\风险分类解除借据表移交
// pspCusHandOverService.doCusHandOver(cusHandOverVO);// 贷后检查登记表移交
// num = cusIds.size();
// } catch (Exception e) {
// e.printStackTrace();
// }
// } else if ("23".equals(cusHandoverAppVO.getOrgType())) {// 同一客户经理跨机构移交
// // 客户信息移交
// for (CusHandoverLstVO cusHandoverLstVO : cusHandoverLstVOList) {
// cusIds.add(cusHandoverLstVO.getCusId());
// }
// cusHandOverVO.setCusIds(cusIds);
// cusHandOverVO.setFromUser(cusHandoverAppVO.getHandoverId());// 移出用户（客户经理）
// cusHandOverVO.setToUser(cusHandoverAppVO.getReceiverId());// 接收用户（客户经理）
// cusHandOverVO.setFromBrId(cusHandoverAppVO.getHandoverBrId());// 移出机构（管理机构）
// cusHandOverVO.setToBrId(cusHandoverAppVO.getReceiverBrId());// 接收机构（管理机构）
// try {
// cusIndivService.doCusHandOver(cusHandOverVO);
// num = cusIds.size();
// } catch (Exception e) {
// e.printStackTrace();
// }
// // 客户账务移交
// } else {// 不同联社间跨机构移交、同一联社内跨机构移交
// // 客户信息移交
// for (CusHandoverLstVO cusHandoverLstVO : cusHandoverLstVOList) {
// cusIds.add(cusHandoverLstVO.getCusId());
// }
// cusHandOverVO.setCusIds(cusIds);
// cusHandOverVO.setFromUser(cusHandoverAppVO.getHandoverId());// 移出用户（客户经理）
// cusHandOverVO.setToUser(cusHandoverAppVO.getReceiverId());// 接收用户（客户经理）
// cusHandOverVO.setFromBrId(cusHandoverAppVO.getHandoverBrId());// 移出机构（管理机构）
// cusHandOverVO.setToBrId(cusHandoverAppVO.getReceiverBrId());// 接收机构（管理机构）
// try {
// cusIndivService.doCusHandOver(cusHandOverVO);
// num = cusIds.size();
// } catch (Exception e) {
//
// e.printStackTrace();
// }
// }
//
// handleApproverecive(cusHandoverAppVO);// 修改移交状态并保存至日志表
// // int outputVo = cusHandoverAppService.updateByPk(cusHandoverAppVO);//修改状态
// return getResponseData(num);
// }
//
// /**
// * 处理接收移交
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/recive", method =
// RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApproverecive(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// // 接收, 将状态改为成功
// CusHandoverAppVO inVO = new CusHandoverAppVO();
// setUserInfoToVO(inVO);
// inVO.setSerno(inCusHandoverAppVo.getSerno());
// inVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_30); // 成功
// inVO.setReceiverId(inVO.getLoginUserId());
// // 需要 [接收人] 跟 [登录人] 一致
// List<String> needStatus = new ArrayList<>(); // 只有 [复核通过] 状态才能更新
// needStatus.add(CusConstant.STD_ZB_HAND_STATUS_20);
// inVO.setNeedStatus(needStatus);
//
// int outputVo = 0;// cusHandoverAppService.updateRecvCusHandover(inVO);
//
// return getResponseData(outputVo);
// }
//
// /**
// * 处理接收移交拒接
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/rejec", method =
// RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApproverejec(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// // 只更新状态，不更新其它信息
// CusHandoverAppVO inVO = new CusHandoverAppVO();
// inVO.setSerno(inCusHandoverAppVo.getSerno());
// inVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_60);
// int outputVo = cusHandoverAppService.updateByPk(inVO);// 修改状态
// return getResponseData(outputVo);
// }
//
// /**
// * 处理审批通过
// *
// * @param inCusHandoverAppVo
// * @return
// */
// @RequestMapping(value = "/cus/handover/app/appr", method = RequestMethod.PUT)
// public @ResponseBody ResponseData<Integer> handleApproverappr(@RequestBody
// CusHandoverAppVO inCusHandoverAppVo) {
// // 只更新状态，不更新其它信息
// CusHandoverAppVO inVO = new CusHandoverAppVO();
// setUserInfoToVO(inVO);
// inVO.setSerno(inCusHandoverAppVo.getSerno());
// inVO.setStatus(CusConstant.STD_ZB_HAND_STATUS_20); // 复核通过
// inVO.setSuperviseId(inVO.getLoginUserId());
// // 需要 [监交人] 跟 [登录人] 一致
// List<String> needStatus = new ArrayList<>(); // 只有 [复核中] 状态才能更新
// needStatus.add(CusConstant.STD_ZB_HAND_STATUS_10);
//
// int outputVo = cusHandoverAppService.updateStatusBySernoCondition(inVO);//
// 修改状态
// return getResponseData(outputVo);
// }
//
// /**
// * 新增数据
// *
// * @param cusHandoverLstListVO
// * @return
// */
// @RequestMapping(value = "/cus/handover/app", method = RequestMethod.POST)
// public @ResponseBody ResponseData<Integer> CusHandoverLst(@RequestBody
// CusHandoverLstListVO cusHandoverLstListVO) {
// List<CusHandoverLstVO> cusHandoverLstVOList =
// cusHandoverLstListVO.getCusHandoverLstVO();// 明细列表
// CusHandoverAppVO cusHandoverAppVO =
// cusHandoverLstListVO.getCusHandoverAppVO(); // 申请提交
// int num = 0;
// setUserInfoToVO(cusHandoverAppVO);
// cusHandoverAppVO.setInputId(cusHandoverAppVO.getLoginUserId());
// cusHandoverAppVO.setInputBrId(cusHandoverAppVO.getLoginUserOrgCode());
//
// num =
// cusHandoverAppService.insertCusHandoverAppAndDetailLst(cusHandoverAppVO,
// cusHandoverLstVOList);
// return getResponseData(num);
// }
// }
